H.323 is a standard promulgated by the International Telecommunications Union (ITU) for multimedia communications over local-area networks (LANs) utilizing Internet Protocol (IP) or another packet-switched medium. The H.323 standard is attractive, for one, because it is a flexible standard appearing in a field dominated by proprietary designs that offer little hope for interoperability between different vendor's equipment. Thus, H.323 offers the hope of a world where different vendor's equipment and different carrier's networks can and will communicate seamlessly. The H.323 standard is also attractive because it allows an administrator some measure of control over the amount of voice, video, and other multimedia traffic traversing a packet-switched network that has no other quality-of-service guarantees.
H.323 defines several components for a packet-switched network-based communications system—these components include Terminals, Gateways, and Gatekeepers. Terminals are client endpoints that provide multimedia communications to a user. Every H.323-compliant terminal must provide for voice communication, and may provide for video and/or data also. Gateways are also specified by H.323—a gateway provides data and signaling translation, allowing an H.323 compliant-terminal to communicate with a second, non-H.323-compliant device. For example, some gateways translate H.323 voice streams into a format understood by a switched-circuit network (SCN), such as ISDN, T1 or E1 TDM carrier formats, or even analog. Gatekeepers perform call control for calls within their zone of operation. Gatekeeper call control functions can include address translation and directory services, admissions control, bandwidth management, and call signaling.
FIG. 1 shows connection paths for a version 1H.323 video call that originates and terminates within a common zone controlled by gatekeeper 24. H.323 terminal 20 communicates with gatekeeper 24 using Registration/Admission/Status (RAS) protocol, and requests a connection to a second H.323 terminal 22. The gatekeeper 24 uses direct signaling, i.e., it only handles the RAS channel. Gatekeeper 24 checks the status of terminal 22, and if the terminal (and sufficient bandwidth) are available, grants terminal 20's request by giving it the address of terminal 22.
To make the connection, terminal 20 attempts to open a TCP/IP connection to terminal 22 to establish the H.225 call signaling channel. The H.225 call signaling channel uses Q.931 commands over TCP, enhanced with H.225-specific user-to-user information elements (UUIEs) to provide basic call functionality. Terminal 22 first checks with gatekeeper 24, using RAS, for permission to answer the call. If permission is granted, further elements of the call are set up.
Next, the H.245 control channel requires a TCP/IP connection between terminals 20 and 22 (with H.323 version 2, Q.931 and H.245 signaling can in some cases share a TCP/IP connection). H.323 entities use the H.245 control channel to orchestrate the H.323 session. This includes functions such as exchanging audio and video capabilities, opening and closing logical channels, requesting preferences, issuing flow control messages, and reselecting codecs.
Information-bearing (bearer) streams are set up, using H.245 signaling, as logical channels that can be set up and torn down during the duration of the call. For instance, connectionless audio and video bearer streams are established using Real-time Transport Protocol (RTP) streaming and UDP.
H.323 does not require that H.225 and H.245 control signaling be directed to the same entity that the bearer streams are directed to. This allows third-party call control to be implemented by routing the control signaling through an intermediate call agent. For instance, gatekeeper 24 can instruct terminals 20 and 22 to connect their signaling channels through the gatekeeper (see FIG. 2). Gatekeeper 24 can then control and modify call signaling without affecting the associated bearer streams, which can flow directly between the endpoints.
FIG. 3 shows an alternate third-party control scheme that is particularly useful for preventing outside parties from gaining unauthorized visibility into an internal network. Terminal 20, which lies within firewall 30, requests a connection to terminal 22, which lies outside the firewall. Gatekeeper 24 instructs terminal 20 to connect its signaling and media streams to proxy 26, and instructs proxy 26 to connect in turn to terminal 22. Proxy 26 prevents terminal 22 or gatekeeper 28 from gaining knowledge of the internal structure of the network behind firewall 30. A proxy may also modify media streams passing through it, if such is required.
FIG. 4 illustrates yet another arrangement that is possible with H.323. Media gateway 32 (shown as part of a bank of gateways 34) has the capability to convert between, e.g., an audio RTP stream and a TDM pulse-code modulated format, such as T1, used by an attached SCN. Gateway 32 is adapted to handle multiple such call conversions based on commands issued by a media gateway controller 36.
Media gateway controller efficiently manages gateway bank 34 by handling call control signaling. Thus, a gatekeeper (not shown) instructs terminal 20 to complete its H.225/H.245 TCP/IP connections with media gateway controller 36. Controller 36 interprets and originates H.225/H.245 signaling for terminal 20. Controller 36 also directs media gateway 32 to emit H.323-compliant streams to terminal 20. Typically, media gateway controller 36 will handle directly call signaling with the SCN network also.